package com.hsjk.szwj.module.smedia.controller.admin.production.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/07/06 13:56
 **/
@Data
public class SubmitMediaProducingJobReqVO {
    @Schema(description = "云剪辑工程ID",
            example = "example")
    private String projectId;

    @Schema(description = "时间线，描述素材按照视频创意进行编排和特效设计的结果。Json格式",
            example = "")
    private String timeline;

    @Schema(description = "模板Id，用于快速低门槛的构建时间线",
            example = "")
    private String templateId;

    @Schema(description = "模板对应的素材参数，Json格式，当TemplateId不为空时，ClipsParam不能为空",
            example = "")
    private String clipsParam;

    @Schema(description = "剪辑工程的元数据信息，Json格式",
            example = "")
    private String projectMetadata;

    @Schema(description = "输出成品的目标类型",
            example = "oss-object;vod-media")
    private String outputMediaTarget;

    @Schema(description = "输出成品的目标配置，Json格式。可以设置输出成品的在OSS 上的URL，或者VOD Bucket 中的存储位置。" +
            "输出到OSS时，输出目标的 MediaURL 必填；输出到VOD 时，StorageLocation 和 FileName 两个参数必填",
            example = "")
    private String outputMediaConfig;

    @Schema(description = "自定义设置，Json格式，长度限制为512字节",
            example = "")
    private String userData;

    @Schema(description = "保证请求幂等性",
            example = "")
    private String clientToken;

    @Schema(description = "剪辑合成请求来源",
            example = "OpenAPI;AliyunConsole;WebSDK")
    private String source;

    @Schema(description = "剪辑合成参数",
            example = "")
    private String editingProduceConfig;

    @Schema(description = "合成视频的元数据，JSON格式",
            example = "")
    private String mediaMetadata;

}
